<?php
/**
 * 支付类
 * Created by PhpStorm.
 * CeshiUser: leesin
 * Date: 2018/3/12
 * Time: 15:20
 */
namespace app\index\model\pay;
class Pay{

    /**
     *根据不同的支付方式实例化不同的支付类
     *params array
     *author leesin.
     *date 2018/3/12
     */
    public static function getModel($params){
        switch(@$params['method']){
            /*case 'alipay':
                return new Alipay($params);
                break;*/
            case 'wxpay':
                return new Wxpay($params);
                break;
            default:
                return null;
                break;
        }
    }

    /**
     * 解码自定义参数
     * author leesin.
     * date 2018/3/22
     */
    public static function decodeParams($params){
        return json_decode(base64_decode($params), true);
    }

    /**
     * 文件日志
     * author leesin.
     * date 2018/3/22
     */
    public static function fileLog($data, $name){
        $file = fopen(Pay::getPath().'/'.$name, 'a');
        fwrite($file, date('Y-m-d H:i:s').PHP_EOL);
        if(is_array($data) || is_object($data)){
            foreach($data as $k => $v){
                fwrite($file, $k.':'.$v.';');
            }
        }else{
            fwrite($file, $data);
        }
        fwrite($file, PHP_EOL.PHP_EOL);
        fclose($file);
    }

    /**
     * 获取日志文件路径
     * author leesin.
     * date 2018/3/22
     */
    public static function getPath(){
        $path = RUNTIME_PATH . '/pay-log/' . date('Ym-d');
        if(!is_dir($path)){
            mkdir($path, 0777, true);
            chmod($path, 0777);
        }
        return $path;
    }

}